package handler

import (
	"beetle/internal/biz"
	"beetle/internal/pkg/tool"
	"github.com/kataras/iris/v12"
)

// redisSettingHandler 处理RedisSetting请求信息
type redisOPHandler struct {
	srv biz.RedisDataOpService
}

// NewRedisOPHandler 操作缓存处理类
func NewRedisOPHandler(srv biz.RedisDataOpService) *redisOPHandler {
	return &redisOPHandler{srv}
}

func (h *redisOPHandler) Refresh(ctx iris.Context) {

	var mp map[string][]int

	err := ctx.ReadJSON(&mp)

	if err != nil {
		ctx.JSON(tool.Fail(err.Error()))
		return
	}

	if err != nil {
		ctx.JSON(tool.Fail(err.Error()))
		return
	}

	err = h.srv.Refresh(mp["ids"])
	if err != nil {
		ctx.JSON(tool.Fail(err.Error()))
		return
	}
	ctx.JSON(tool.Success())
}

func (h *redisOPHandler) Clear(ctx iris.Context) {

	var mp map[string][]int

	err := ctx.ReadJSON(&mp)

	if err != nil {
		ctx.JSON(tool.Fail(err.Error()))
		return
	}

	if err != nil {
		ctx.JSON(tool.Fail(err.Error()))
		return
	}

	err = h.srv.Clear(mp["ids"])
	if err != nil {
		ctx.JSON(tool.Fail(err.Error()))
		return
	}
	ctx.JSON(tool.Success())
}
